03 Spring 注解驱动开发之属性赋值

1 @Value 赋值和 @PropertySource 加载属性文件

@Value注解的唯一属性value用来赋值。

@PropertySource注解用来加载属性文件。使用${}可以取出配置文件里的值。

一、【基本数值】:

1
2
@Value("张三")
private String name;

二、【SpELl 表达式赋值:#{}】:

1
2
@Value("#{100-2}")
private Integer age;

三、【取配置文件(properties)中的值进行赋值:${}】:

  1. 首先创建person.properties配置文件:

    1
    person.nickName=咿呀咿呀呦
  2. 在spring配置文件中加载配置文件:

    1
    <context:property-placeholder location="classpath:person.properties"/>

    或者,在配置类中使用@PropertySource加载配置文件:

    1
    2
    3
    4
    5
    6
    7
    8
    @Configuration
    @PropertySource(value = {"classpath:person.properties"})
    public class MainConfigOfPropertyValues {
    @Bean
    public Person person() {
    return new Person();
    }
    }

    @PropertySourcevalue属性的值是数组,这就意味着可以加载多个配置文件。又因为该注解是重复注解,所以也可以多次使用该注解加载不同的配置文件。还可以使用@PropertySources注解,该注解的value属性可以加载多个@PropertySource注解。

    类路径下的文件使用classpath:标注。文件路径下的文件使用file:标注。

  3. 使用@Value赋值:

    1
    2
    @Value("${person.nickName}")
    private String nickName;

【注】:Spring 中 #{}${}的区别:

  1. ${key}通常用来获取属性文件中的内容。
  2. #{表达式}是SpEL表达式的格式。
  3. 二者可以混合使用:#{'${key}'}
-------------本文结束感谢您的阅读-------------
0%